﻿package idv.cjcat.shintaz.tests.cases {
	import asunit.framework.TestCase;
	import idv.cjcat.shintaz.compiler.scanner.Pattern;
	
	public class PatternTest extends TestCase {
		
		public function PatternTest(testMethod:String = null) {
			super(testMethod);
		}
		
		public function testNumbers():void {
			assertFalse(Pattern.isNumber("a"));
			assertFalse(Pattern.isNumber("b"));
			assertFalse(Pattern.isNumber("c"));
			assertFalse(Pattern.isNumber("d"));
			assertFalse(Pattern.isNumber("e"));
			assertFalse(Pattern.isNumber("f"));
			assertFalse(Pattern.isNumber("g"));
			assertFalse(Pattern.isNumber("h"));
			assertFalse(Pattern.isNumber("i"));
			assertFalse(Pattern.isNumber("j"));
			assertFalse(Pattern.isNumber("k"));
			assertFalse(Pattern.isNumber("l"));
			assertFalse(Pattern.isNumber("m"));
			assertFalse(Pattern.isNumber("n"));
			assertFalse(Pattern.isNumber("o"));
			assertFalse(Pattern.isNumber("p"));
			assertFalse(Pattern.isNumber("q"));
			assertFalse(Pattern.isNumber("r"));
			assertFalse(Pattern.isNumber("s"));
			assertFalse(Pattern.isNumber("t"));
			assertFalse(Pattern.isNumber("u"));
			assertFalse(Pattern.isNumber("v"));
			assertFalse(Pattern.isNumber("w"));
			assertFalse(Pattern.isNumber("x"));
			assertFalse(Pattern.isNumber("y"));
			assertFalse(Pattern.isNumber("z"));
			assertFalse(Pattern.isNumber("A"));
			assertFalse(Pattern.isNumber("B"));
			assertFalse(Pattern.isNumber("C"));
			assertFalse(Pattern.isNumber("D"));
			assertFalse(Pattern.isNumber("E"));
			assertFalse(Pattern.isNumber("F"));
			assertFalse(Pattern.isNumber("G"));
			assertFalse(Pattern.isNumber("H"));
			assertFalse(Pattern.isNumber("I"));
			assertFalse(Pattern.isNumber("J"));
			assertFalse(Pattern.isNumber("K"));
			assertFalse(Pattern.isNumber("L"));
			assertFalse(Pattern.isNumber("M"));
			assertFalse(Pattern.isNumber("N"));
			assertFalse(Pattern.isNumber("O"));
			assertFalse(Pattern.isNumber("P"));
			assertFalse(Pattern.isNumber("Q"));
			assertFalse(Pattern.isNumber("R"));
			assertFalse(Pattern.isNumber("S"));
			assertFalse(Pattern.isNumber("T"));
			assertFalse(Pattern.isNumber("U"));
			assertFalse(Pattern.isNumber("V"));
			assertFalse(Pattern.isNumber("W"));
			assertFalse(Pattern.isNumber("S"));
			assertFalse(Pattern.isNumber("Y"));
			assertFalse(Pattern.isNumber("Z"));
			
			assertTrue(Pattern.isNumber("0"));
			assertTrue(Pattern.isNumber("1"));
			assertTrue(Pattern.isNumber("2"));
			assertTrue(Pattern.isNumber("3"));
			assertTrue(Pattern.isNumber("4"));
			assertTrue(Pattern.isNumber("5"));
			assertTrue(Pattern.isNumber("6"));
			assertTrue(Pattern.isNumber("7"));
			assertTrue(Pattern.isNumber("8"));
			assertTrue(Pattern.isNumber("9"));
			
			assertFalse(Pattern.isNumber(" "));
			assertFalse(Pattern.isNumber("\t"));
			assertFalse(Pattern.isNumber("\r"));
			assertFalse(Pattern.isNumber("\n"));
			
			assertFalse(Pattern.isNumber("("));
			assertFalse(Pattern.isNumber(")"));
			assertFalse(Pattern.isNumber("["));
			assertFalse(Pattern.isNumber("]"));
			assertFalse(Pattern.isNumber("{"));
			assertFalse(Pattern.isNumber("}"));
			assertFalse(Pattern.isNumber("="));
			assertFalse(Pattern.isNumber("<"));
			assertFalse(Pattern.isNumber(">"));
			assertFalse(Pattern.isNumber("+"));
			assertFalse(Pattern.isNumber("-"));
			assertFalse(Pattern.isNumber("_"));
			assertFalse(Pattern.isNumber("*"));
			assertFalse(Pattern.isNumber("/"));
			assertFalse(Pattern.isNumber("\\"));
			assertFalse(Pattern.isNumber("$"));
			assertFalse(Pattern.isNumber("%"));
			assertFalse(Pattern.isNumber("\\"));
			assertFalse(Pattern.isNumber("^"));
			assertFalse(Pattern.isNumber("&"));
			assertFalse(Pattern.isNumber("|"));
		}
		
		public function testHex():void {
			assertTrue(Pattern.isHex("a"));
			assertTrue(Pattern.isHex("b"));
			assertTrue(Pattern.isHex("c"));
			assertTrue(Pattern.isHex("d"));
			assertTrue(Pattern.isHex("e"));
			assertTrue(Pattern.isHex("f"));
			assertFalse(Pattern.isHex("g"));
			assertFalse(Pattern.isHex("h"));
			assertFalse(Pattern.isHex("i"));
			assertFalse(Pattern.isHex("j"));
			assertFalse(Pattern.isHex("k"));
			assertFalse(Pattern.isHex("l"));
			assertFalse(Pattern.isHex("m"));
			assertFalse(Pattern.isHex("n"));
			assertFalse(Pattern.isHex("o"));
			assertFalse(Pattern.isHex("p"));
			assertFalse(Pattern.isHex("q"));
			assertFalse(Pattern.isHex("r"));
			assertFalse(Pattern.isHex("s"));
			assertFalse(Pattern.isHex("t"));
			assertFalse(Pattern.isHex("u"));
			assertFalse(Pattern.isHex("v"));
			assertFalse(Pattern.isHex("w"));
			assertFalse(Pattern.isHex("x"));
			assertFalse(Pattern.isHex("y"));
			assertFalse(Pattern.isHex("z"));
			assertTrue(Pattern.isHex("A"));
			assertTrue(Pattern.isHex("B"));
			assertTrue(Pattern.isHex("C"));
			assertTrue(Pattern.isHex("D"));
			assertTrue(Pattern.isHex("E"));
			assertTrue(Pattern.isHex("F"));
			assertFalse(Pattern.isHex("G"));
			assertFalse(Pattern.isHex("H"));
			assertFalse(Pattern.isHex("I"));
			assertFalse(Pattern.isHex("J"));
			assertFalse(Pattern.isHex("K"));
			assertFalse(Pattern.isHex("L"));
			assertFalse(Pattern.isHex("M"));
			assertFalse(Pattern.isHex("N"));
			assertFalse(Pattern.isHex("O"));
			assertFalse(Pattern.isHex("P"));
			assertFalse(Pattern.isHex("Q"));
			assertFalse(Pattern.isHex("R"));
			assertFalse(Pattern.isHex("S"));
			assertFalse(Pattern.isHex("T"));
			assertFalse(Pattern.isHex("U"));
			assertFalse(Pattern.isHex("V"));
			assertFalse(Pattern.isHex("W"));
			assertFalse(Pattern.isHex("S"));
			assertFalse(Pattern.isHex("Y"));
			assertFalse(Pattern.isHex("Z"));
			
			assertTrue(Pattern.isHex("0"));
			assertTrue(Pattern.isHex("1"));
			assertTrue(Pattern.isHex("2"));
			assertTrue(Pattern.isHex("3"));
			assertTrue(Pattern.isHex("4"));
			assertTrue(Pattern.isHex("5"));
			assertTrue(Pattern.isHex("6"));
			assertTrue(Pattern.isHex("7"));
			assertTrue(Pattern.isHex("8"));
			assertTrue(Pattern.isHex("9"));
			
			assertFalse(Pattern.isHex(" "));
			assertFalse(Pattern.isHex("\t"));
			assertFalse(Pattern.isHex("\r"));
			assertFalse(Pattern.isHex("\n"));
			
			assertFalse(Pattern.isHex("("));
			assertFalse(Pattern.isHex(")"));
			assertFalse(Pattern.isHex("["));
			assertFalse(Pattern.isHex("]"));
			assertFalse(Pattern.isHex("{"));
			assertFalse(Pattern.isHex("}"));
			assertFalse(Pattern.isHex("="));
			assertFalse(Pattern.isHex("<"));
			assertFalse(Pattern.isHex(">"));
			assertFalse(Pattern.isHex("+"));
			assertFalse(Pattern.isHex("-"));
			assertFalse(Pattern.isHex("_"));
			assertFalse(Pattern.isHex("*"));
			assertFalse(Pattern.isHex("/"));
			assertFalse(Pattern.isHex("\\"));
			assertFalse(Pattern.isHex("$"));
			assertFalse(Pattern.isHex("%"));
			assertFalse(Pattern.isHex("\\"));
			assertFalse(Pattern.isHex("^"));
			assertFalse(Pattern.isHex("&"));
			assertFalse(Pattern.isHex("|"));
		}
		
		public function testWhiteSpaces():void {
			assertFalse(Pattern.isWhiteSpace("a"));
			assertFalse(Pattern.isWhiteSpace("b"));
			assertFalse(Pattern.isWhiteSpace("c"));
			assertFalse(Pattern.isWhiteSpace("d"));
			assertFalse(Pattern.isWhiteSpace("e"));
			assertFalse(Pattern.isWhiteSpace("f"));
			assertFalse(Pattern.isWhiteSpace("g"));
			assertFalse(Pattern.isWhiteSpace("h"));
			assertFalse(Pattern.isWhiteSpace("i"));
			assertFalse(Pattern.isWhiteSpace("j"));
			assertFalse(Pattern.isWhiteSpace("k"));
			assertFalse(Pattern.isWhiteSpace("l"));
			assertFalse(Pattern.isWhiteSpace("m"));
			assertFalse(Pattern.isWhiteSpace("n"));
			assertFalse(Pattern.isWhiteSpace("o"));
			assertFalse(Pattern.isWhiteSpace("p"));
			assertFalse(Pattern.isWhiteSpace("q"));
			assertFalse(Pattern.isWhiteSpace("r"));
			assertFalse(Pattern.isWhiteSpace("s"));
			assertFalse(Pattern.isWhiteSpace("t"));
			assertFalse(Pattern.isWhiteSpace("u"));
			assertFalse(Pattern.isWhiteSpace("v"));
			assertFalse(Pattern.isWhiteSpace("w"));
			assertFalse(Pattern.isWhiteSpace("x"));
			assertFalse(Pattern.isWhiteSpace("y"));
			assertFalse(Pattern.isWhiteSpace("z"));
			assertFalse(Pattern.isWhiteSpace("A"));
			assertFalse(Pattern.isWhiteSpace("B"));
			assertFalse(Pattern.isWhiteSpace("C"));
			assertFalse(Pattern.isWhiteSpace("D"));
			assertFalse(Pattern.isWhiteSpace("E"));
			assertFalse(Pattern.isWhiteSpace("F"));
			assertFalse(Pattern.isWhiteSpace("G"));
			assertFalse(Pattern.isWhiteSpace("H"));
			assertFalse(Pattern.isWhiteSpace("I"));
			assertFalse(Pattern.isWhiteSpace("J"));
			assertFalse(Pattern.isWhiteSpace("K"));
			assertFalse(Pattern.isWhiteSpace("L"));
			assertFalse(Pattern.isWhiteSpace("M"));
			assertFalse(Pattern.isWhiteSpace("N"));
			assertFalse(Pattern.isWhiteSpace("O"));
			assertFalse(Pattern.isWhiteSpace("P"));
			assertFalse(Pattern.isWhiteSpace("Q"));
			assertFalse(Pattern.isWhiteSpace("R"));
			assertFalse(Pattern.isWhiteSpace("S"));
			assertFalse(Pattern.isWhiteSpace("T"));
			assertFalse(Pattern.isWhiteSpace("U"));
			assertFalse(Pattern.isWhiteSpace("V"));
			assertFalse(Pattern.isWhiteSpace("W"));
			assertFalse(Pattern.isWhiteSpace("S"));
			assertFalse(Pattern.isWhiteSpace("Y"));
			assertFalse(Pattern.isWhiteSpace("Z"));
			
			assertFalse(Pattern.isWhiteSpace("0"));
			assertFalse(Pattern.isWhiteSpace("1"));
			assertFalse(Pattern.isWhiteSpace("2"));
			assertFalse(Pattern.isWhiteSpace("3"));
			assertFalse(Pattern.isWhiteSpace("4"));
			assertFalse(Pattern.isWhiteSpace("5"));
			assertFalse(Pattern.isWhiteSpace("6"));
			assertFalse(Pattern.isWhiteSpace("7"));
			assertFalse(Pattern.isWhiteSpace("8"));
			assertFalse(Pattern.isWhiteSpace("9"));
			
			assertTrue(Pattern.isWhiteSpace(" "));
			assertTrue(Pattern.isWhiteSpace("\t"));
			assertTrue(Pattern.isWhiteSpace("\r"));
			assertTrue(Pattern.isWhiteSpace("\n"));
			
			assertFalse(Pattern.isWhiteSpace("("));
			assertFalse(Pattern.isWhiteSpace(")"));
			assertFalse(Pattern.isWhiteSpace("["));
			assertFalse(Pattern.isWhiteSpace("]"));
			assertFalse(Pattern.isWhiteSpace("{"));
			assertFalse(Pattern.isWhiteSpace("}"));
			assertFalse(Pattern.isWhiteSpace("="));
			assertFalse(Pattern.isWhiteSpace("<"));
			assertFalse(Pattern.isWhiteSpace(">"));
			assertFalse(Pattern.isWhiteSpace("+"));
			assertFalse(Pattern.isWhiteSpace("-"));
			assertFalse(Pattern.isWhiteSpace("_"));
			assertFalse(Pattern.isWhiteSpace("*"));
			assertFalse(Pattern.isWhiteSpace("/"));
			assertFalse(Pattern.isWhiteSpace("\\"));
			assertFalse(Pattern.isWhiteSpace("$"));
			assertFalse(Pattern.isWhiteSpace("%"));
			assertFalse(Pattern.isWhiteSpace("\\"));
			assertFalse(Pattern.isWhiteSpace("^"));
			assertFalse(Pattern.isWhiteSpace("&"));
			assertFalse(Pattern.isWhiteSpace("|"));
		}
		
		public function testAlphabet():void {
			assertTrue(Pattern.isAlphabet("a"));
			assertTrue(Pattern.isAlphabet("b"));
			assertTrue(Pattern.isAlphabet("c"));
			assertTrue(Pattern.isAlphabet("d"));
			assertTrue(Pattern.isAlphabet("e"));
			assertTrue(Pattern.isAlphabet("f"));
			assertTrue(Pattern.isAlphabet("g"));
			assertTrue(Pattern.isAlphabet("h"));
			assertTrue(Pattern.isAlphabet("i"));
			assertTrue(Pattern.isAlphabet("j"));
			assertTrue(Pattern.isAlphabet("k"));
			assertTrue(Pattern.isAlphabet("l"));
			assertTrue(Pattern.isAlphabet("m"));
			assertTrue(Pattern.isAlphabet("n"));
			assertTrue(Pattern.isAlphabet("o"));
			assertTrue(Pattern.isAlphabet("p"));
			assertTrue(Pattern.isAlphabet("q"));
			assertTrue(Pattern.isAlphabet("r"));
			assertTrue(Pattern.isAlphabet("s"));
			assertTrue(Pattern.isAlphabet("t"));
			assertTrue(Pattern.isAlphabet("u"));
			assertTrue(Pattern.isAlphabet("v"));
			assertTrue(Pattern.isAlphabet("w"));
			assertTrue(Pattern.isAlphabet("x"));
			assertTrue(Pattern.isAlphabet("y"));
			assertTrue(Pattern.isAlphabet("z"));
			assertTrue(Pattern.isAlphabet("A"));
			assertTrue(Pattern.isAlphabet("B"));
			assertTrue(Pattern.isAlphabet("C"));
			assertTrue(Pattern.isAlphabet("D"));
			assertTrue(Pattern.isAlphabet("E"));
			assertTrue(Pattern.isAlphabet("F"));
			assertTrue(Pattern.isAlphabet("G"));
			assertTrue(Pattern.isAlphabet("H"));
			assertTrue(Pattern.isAlphabet("I"));
			assertTrue(Pattern.isAlphabet("J"));
			assertTrue(Pattern.isAlphabet("K"));
			assertTrue(Pattern.isAlphabet("L"));
			assertTrue(Pattern.isAlphabet("M"));
			assertTrue(Pattern.isAlphabet("N"));
			assertTrue(Pattern.isAlphabet("O"));
			assertTrue(Pattern.isAlphabet("P"));
			assertTrue(Pattern.isAlphabet("Q"));
			assertTrue(Pattern.isAlphabet("R"));
			assertTrue(Pattern.isAlphabet("S"));
			assertTrue(Pattern.isAlphabet("T"));
			assertTrue(Pattern.isAlphabet("U"));
			assertTrue(Pattern.isAlphabet("V"));
			assertTrue(Pattern.isAlphabet("W"));
			assertTrue(Pattern.isAlphabet("S"));
			assertTrue(Pattern.isAlphabet("Y"));
			assertTrue(Pattern.isAlphabet("Z"));
			
			assertFalse(Pattern.isAlphabet("0"));
			assertFalse(Pattern.isAlphabet("1"));
			assertFalse(Pattern.isAlphabet("2"));
			assertFalse(Pattern.isAlphabet("3"));
			assertFalse(Pattern.isAlphabet("4"));
			assertFalse(Pattern.isAlphabet("5"));
			assertFalse(Pattern.isAlphabet("6"));
			assertFalse(Pattern.isAlphabet("7"));
			assertFalse(Pattern.isAlphabet("8"));
			assertFalse(Pattern.isAlphabet("9"));
			
			assertFalse(Pattern.isAlphabet(" "));
			assertFalse(Pattern.isAlphabet("\t"));
			assertFalse(Pattern.isAlphabet("\r"));
			assertFalse(Pattern.isAlphabet("\n"));
			
			assertFalse(Pattern.isAlphabet("("));
			assertFalse(Pattern.isAlphabet(")"));
			assertFalse(Pattern.isAlphabet("["));
			assertFalse(Pattern.isAlphabet("]"));
			assertFalse(Pattern.isAlphabet("{"));
			assertFalse(Pattern.isAlphabet("}"));
			assertFalse(Pattern.isAlphabet("="));
			assertFalse(Pattern.isAlphabet("<"));
			assertFalse(Pattern.isAlphabet(">"));
			assertFalse(Pattern.isAlphabet("+"));
			assertFalse(Pattern.isAlphabet("-"));
			assertFalse(Pattern.isAlphabet("_"));
			assertFalse(Pattern.isAlphabet("*"));
			assertFalse(Pattern.isAlphabet("/"));
			assertFalse(Pattern.isAlphabet("\\"));
			assertFalse(Pattern.isAlphabet("$"));
			assertFalse(Pattern.isAlphabet("%"));
			assertFalse(Pattern.isAlphabet("\\"));
			assertFalse(Pattern.isAlphabet("^"));
			assertFalse(Pattern.isAlphabet("&"));
			assertFalse(Pattern.isAlphabet("|"));
		}
		
		public function testIdentifierHead():void {
			assertTrue(Pattern.isIdentifierHead("a"));
			assertTrue(Pattern.isIdentifierHead("b"));
			assertTrue(Pattern.isIdentifierHead("c"));
			assertTrue(Pattern.isIdentifierHead("d"));
			assertTrue(Pattern.isIdentifierHead("e"));
			assertTrue(Pattern.isIdentifierHead("f"));
			assertTrue(Pattern.isIdentifierHead("g"));
			assertTrue(Pattern.isIdentifierHead("h"));
			assertTrue(Pattern.isIdentifierHead("i"));
			assertTrue(Pattern.isIdentifierHead("j"));
			assertTrue(Pattern.isIdentifierHead("k"));
			assertTrue(Pattern.isIdentifierHead("l"));
			assertTrue(Pattern.isIdentifierHead("m"));
			assertTrue(Pattern.isIdentifierHead("n"));
			assertTrue(Pattern.isIdentifierHead("o"));
			assertTrue(Pattern.isIdentifierHead("p"));
			assertTrue(Pattern.isIdentifierHead("q"));
			assertTrue(Pattern.isIdentifierHead("r"));
			assertTrue(Pattern.isIdentifierHead("s"));
			assertTrue(Pattern.isIdentifierHead("t"));
			assertTrue(Pattern.isIdentifierHead("u"));
			assertTrue(Pattern.isIdentifierHead("v"));
			assertTrue(Pattern.isIdentifierHead("w"));
			assertTrue(Pattern.isIdentifierHead("x"));
			assertTrue(Pattern.isIdentifierHead("y"));
			assertTrue(Pattern.isIdentifierHead("z"));
			assertTrue(Pattern.isIdentifierHead("A"));
			assertTrue(Pattern.isIdentifierHead("B"));
			assertTrue(Pattern.isIdentifierHead("C"));
			assertTrue(Pattern.isIdentifierHead("D"));
			assertTrue(Pattern.isIdentifierHead("E"));
			assertTrue(Pattern.isIdentifierHead("F"));
			assertTrue(Pattern.isIdentifierHead("G"));
			assertTrue(Pattern.isIdentifierHead("H"));
			assertTrue(Pattern.isIdentifierHead("I"));
			assertTrue(Pattern.isIdentifierHead("J"));
			assertTrue(Pattern.isIdentifierHead("K"));
			assertTrue(Pattern.isIdentifierHead("L"));
			assertTrue(Pattern.isIdentifierHead("M"));
			assertTrue(Pattern.isIdentifierHead("N"));
			assertTrue(Pattern.isIdentifierHead("O"));
			assertTrue(Pattern.isIdentifierHead("P"));
			assertTrue(Pattern.isIdentifierHead("Q"));
			assertTrue(Pattern.isIdentifierHead("R"));
			assertTrue(Pattern.isIdentifierHead("S"));
			assertTrue(Pattern.isIdentifierHead("T"));
			assertTrue(Pattern.isIdentifierHead("U"));
			assertTrue(Pattern.isIdentifierHead("V"));
			assertTrue(Pattern.isIdentifierHead("W"));
			assertTrue(Pattern.isIdentifierHead("S"));
			assertTrue(Pattern.isIdentifierHead("Y"));
			assertTrue(Pattern.isIdentifierHead("Z"));
			
			assertFalse(Pattern.isIdentifierHead("0"));
			assertFalse(Pattern.isIdentifierHead("1"));
			assertFalse(Pattern.isIdentifierHead("2"));
			assertFalse(Pattern.isIdentifierHead("3"));
			assertFalse(Pattern.isIdentifierHead("4"));
			assertFalse(Pattern.isIdentifierHead("5"));
			assertFalse(Pattern.isIdentifierHead("6"));
			assertFalse(Pattern.isIdentifierHead("7"));
			assertFalse(Pattern.isIdentifierHead("8"));
			assertFalse(Pattern.isIdentifierHead("9"));
			
			assertFalse(Pattern.isIdentifierHead(" "));
			assertFalse(Pattern.isIdentifierHead("\t"));
			assertFalse(Pattern.isIdentifierHead("\r"));
			assertFalse(Pattern.isIdentifierHead("\n"));
			
			assertFalse(Pattern.isIdentifierHead("("));
			assertFalse(Pattern.isIdentifierHead(")"));
			assertFalse(Pattern.isIdentifierHead("["));
			assertFalse(Pattern.isIdentifierHead("]"));
			assertFalse(Pattern.isIdentifierHead("{"));
			assertFalse(Pattern.isIdentifierHead("}"));
			assertFalse(Pattern.isIdentifierHead("="));
			assertFalse(Pattern.isIdentifierHead("<"));
			assertFalse(Pattern.isIdentifierHead(">"));
			assertFalse(Pattern.isIdentifierHead("+"));
			assertFalse(Pattern.isIdentifierHead("-"));
			assertTrue(Pattern.isIdentifierHead("_"));
			assertFalse(Pattern.isIdentifierHead("*"));
			assertFalse(Pattern.isIdentifierHead("/"));
			assertFalse(Pattern.isIdentifierHead("\\"));
			assertTrue(Pattern.isIdentifierHead("$"));
			assertFalse(Pattern.isIdentifierHead("%"));
			assertFalse(Pattern.isIdentifierHead("\\"));
			assertFalse(Pattern.isIdentifierHead("^"));
			assertFalse(Pattern.isIdentifierHead("&"));
			assertFalse(Pattern.isIdentifierHead("|"));
		}
		
		public function testIdentifierBody():void {
			assertTrue(Pattern.isIdentifierBody("a"));
			assertTrue(Pattern.isIdentifierBody("b"));
			assertTrue(Pattern.isIdentifierBody("c"));
			assertTrue(Pattern.isIdentifierBody("d"));
			assertTrue(Pattern.isIdentifierBody("e"));
			assertTrue(Pattern.isIdentifierBody("f"));
			assertTrue(Pattern.isIdentifierBody("g"));
			assertTrue(Pattern.isIdentifierBody("h"));
			assertTrue(Pattern.isIdentifierBody("i"));
			assertTrue(Pattern.isIdentifierBody("j"));
			assertTrue(Pattern.isIdentifierBody("k"));
			assertTrue(Pattern.isIdentifierBody("l"));
			assertTrue(Pattern.isIdentifierBody("m"));
			assertTrue(Pattern.isIdentifierBody("n"));
			assertTrue(Pattern.isIdentifierBody("o"));
			assertTrue(Pattern.isIdentifierBody("p"));
			assertTrue(Pattern.isIdentifierBody("q"));
			assertTrue(Pattern.isIdentifierBody("r"));
			assertTrue(Pattern.isIdentifierBody("s"));
			assertTrue(Pattern.isIdentifierBody("t"));
			assertTrue(Pattern.isIdentifierBody("u"));
			assertTrue(Pattern.isIdentifierBody("v"));
			assertTrue(Pattern.isIdentifierBody("w"));
			assertTrue(Pattern.isIdentifierBody("x"));
			assertTrue(Pattern.isIdentifierBody("y"));
			assertTrue(Pattern.isIdentifierBody("z"));
			assertTrue(Pattern.isIdentifierBody("A"));
			assertTrue(Pattern.isIdentifierBody("B"));
			assertTrue(Pattern.isIdentifierBody("C"));
			assertTrue(Pattern.isIdentifierBody("D"));
			assertTrue(Pattern.isIdentifierBody("E"));
			assertTrue(Pattern.isIdentifierBody("F"));
			assertTrue(Pattern.isIdentifierBody("G"));
			assertTrue(Pattern.isIdentifierBody("H"));
			assertTrue(Pattern.isIdentifierBody("I"));
			assertTrue(Pattern.isIdentifierBody("J"));
			assertTrue(Pattern.isIdentifierBody("K"));
			assertTrue(Pattern.isIdentifierBody("L"));
			assertTrue(Pattern.isIdentifierBody("M"));
			assertTrue(Pattern.isIdentifierBody("N"));
			assertTrue(Pattern.isIdentifierBody("O"));
			assertTrue(Pattern.isIdentifierBody("P"));
			assertTrue(Pattern.isIdentifierBody("Q"));
			assertTrue(Pattern.isIdentifierBody("R"));
			assertTrue(Pattern.isIdentifierBody("S"));
			assertTrue(Pattern.isIdentifierBody("T"));
			assertTrue(Pattern.isIdentifierBody("U"));
			assertTrue(Pattern.isIdentifierBody("V"));
			assertTrue(Pattern.isIdentifierBody("W"));
			assertTrue(Pattern.isIdentifierBody("S"));
			assertTrue(Pattern.isIdentifierBody("Y"));
			assertTrue(Pattern.isIdentifierBody("Z"));
			
			assertTrue(Pattern.isIdentifierBody("0"));
			assertTrue(Pattern.isIdentifierBody("1"));
			assertTrue(Pattern.isIdentifierBody("2"));
			assertTrue(Pattern.isIdentifierBody("3"));
			assertTrue(Pattern.isIdentifierBody("4"));
			assertTrue(Pattern.isIdentifierBody("5"));
			assertTrue(Pattern.isIdentifierBody("6"));
			assertTrue(Pattern.isIdentifierBody("7"));
			assertTrue(Pattern.isIdentifierBody("8"));
			assertTrue(Pattern.isIdentifierBody("9"));
			
			assertFalse(Pattern.isIdentifierBody(" "));
			assertFalse(Pattern.isIdentifierBody("\t"));
			assertFalse(Pattern.isIdentifierBody("\r"));
			assertFalse(Pattern.isIdentifierBody("\n"));
			
			assertFalse(Pattern.isIdentifierBody("("));
			assertFalse(Pattern.isIdentifierBody(")"));
			assertFalse(Pattern.isIdentifierBody("["));
			assertFalse(Pattern.isIdentifierBody("]"));
			assertFalse(Pattern.isIdentifierBody("{"));
			assertFalse(Pattern.isIdentifierBody("}"));
			assertFalse(Pattern.isIdentifierBody("="));
			assertFalse(Pattern.isIdentifierBody("<"));
			assertFalse(Pattern.isIdentifierBody(">"));
			assertFalse(Pattern.isIdentifierBody("+"));
			assertFalse(Pattern.isIdentifierBody("-"));
			assertTrue(Pattern.isIdentifierBody("_"));
			assertFalse(Pattern.isIdentifierBody("*"));
			assertFalse(Pattern.isIdentifierBody("/"));
			assertFalse(Pattern.isIdentifierBody("\\"));
			assertTrue(Pattern.isIdentifierBody("$"));
			assertFalse(Pattern.isIdentifierBody("%"));
			assertFalse(Pattern.isIdentifierBody("\\"));
			assertFalse(Pattern.isIdentifierBody("^"));
			assertFalse(Pattern.isIdentifierBody("&"));
			assertFalse(Pattern.isIdentifierBody("|"));
		}
	}
}